<template>
   <div class="wrapper">
    <!-- header部分 -->
    <header>
      <p>商家信息</p>
    </header>

    <!-- 商家logo部分 -->
    <div class="business-logo">
      <img src="../assets/sj01.png" />
    </div>

    <!-- 商家信息部分 -->
    <div class="business-info">
      <h1>{{businessInfo.businessName}}</h1>
      <p>
        &#165;{{businessInfo.starPrice}} 起送&#165; {{businessInfo.deliveryPrice}} 配送
      </p>
      <p>{{businessInfo.businessExplain}}</p>
    </div>

    <!-- 食品列表部分 -->
    <ul class="food">
      <li v-for="(item, index) in foodList">
        <div class="food-left">
          <img src="../assets/dcfl01.png" />
          <div class="food-left-info">
            <h3>{{item.foodName}}</h3>
            <p>{{item.foodExplain}}</p>
            <p>&#165;{{item.foodPrice}}</p>
            <p>剩余数量4</p>
          </div>
        </div>
        <div class="food-right">
          <div>
            <i class="fa fa-minus-circle" @click="minus(index)"></i>
          </div>
          <p>
            <span>{{item.number}}</span>
          </p>
          <div>
            <i class="fa fa-plus-circle" @click="plus(index)"></i>
          </div>
        </div>
      </li>
    </ul>

    <!-- 购物车部分 -->
    <div class="cart">
      <div class="cart-left">
        <div
          class="cart-left-icon">
          <i class="fa fa-shopping-cart"></i>
          <div class="cart-left-icon-quantity" >
            {{this.totalnumber}}
          </div>
        </div>
        <div class="cart-left-info">
          <p>&#165;{{this.price}}</p>
          <p>另需配送费3元</p>
        </div>
      </div>
      <div class="cart-right">
        <!-- 不够起送费 -->
        <div
          class="cart-right-item"
          style="background-color: #535356; cursor: default"
         v-if="flag">
          &#165;15起送
        </div>
        <!-- 达到起送费 -->
        <div class="cart-right-item" v-else @click="submin()">
          去结算
        </div>
      </div>
    </div>
  </div>
</template>

<script>
// import { ref } from 'vue';
export default {
    data(){
        return{
			businessId:this.$route.params.businessId,
			foodList:[],
			cartList:[],
			businessInfo:[],
			flag:true,
			price:0,
			totalnumber:0,
			orderId:0,
			userId:this.$store.state.userId,
        }
    },
    created(){
		this.getFoodInfo(this.businessId);
		this.getBusiness(this.businessId);
		this.getCartList(this.businessId);
		this.initFoodList();
		console.log(this.userId);
    },
    computed:{
		
    },
    methods: {
		getFoodInfo:function(businessId) {
			this.$http.get("/api/FoodController/getFoodByBusinessId?businessId=" + this.businessId).then(response => {
				this.foodList = response.data.result;
				for(var i = 0; i < this.foodList.length; i++) {
					this.foodList[i].number = 0;
				}
			})
		},
		getBusiness:function(businessId) {
			this.$http.get("/api/BusinessController/findById?id=" + this.businessId).then(response => {
				this.businessInfo = response.data.result;
			})
		},
		getCartList:function(businessId) {
			this.$http.get("/api/CartController/getCart?businessId=" + this.businessId + "&userId=" + localStorage.getItem("userId")).then(response => {
				this.cartList = response.data.result;
				this.initFoodList();
			})
		},
		initFoodList:function() {
			for (var i = 0; i < this.foodList.length; i++) {
				for (var j = 0; j < this.cartList.length; j++) {
					if (this.foodList[i].foodId == this.cartList[j].foodId) {
						this.foodList[i].number = this.cartList[j].number;
						this.totalnumber += this.cartList[j].number;
						this.price += this.cartList[j].foodPrice * this.cartList[j].number;
					}
				}
			}
			this.fun();
		},
		plus(index) {
			this.foodList[index].number++;
			this.price +=  (this.foodList[index].foodPrice);
			this.totalnumber++;
			this.$http.post("/api/CartController/addFood?businessId=" + this.businessId + "&foodId=" + this.foodList[index].foodId + "&userId=" + localStorage.getItem('userId')).then(response => {
				if (response.status === 200) {
					console.log("添加商品成功！");
				}
				this.fun();
			})
			
		},
		minus:function(index) {
			if (this.foodList[index].number > 0) {
				this.foodList[index].number--;
				this.totalnumber--;
				this.price -= (this.foodList[index].foodPrice);
				this.$http.post("/api/CartController/removeFood?businessId=" + this.businessId + "&foodId=" + this.foodList[index].foodId + "&userId=" + localStorage.getItem('userId')).then(response => {
					if (response.status === 200) {
						console.log("删除商品成功！");
					}
					this.fun();
				})
			}
		},
		//去结算
		submin:function() {
			console.log(this.foodList);
			this.price += 3;
			this.$http.post("/api/OrderController/createOrder?businessId=" + this.businessId + "&price=" + this.price + "&userId=" + localStorage.getItem('userId')).then(response => {
				if (response.status === 200) {
					this.orderId = response.data.result;
					this.$router.push(`/order/${this.orderId}`);
				}
			})
			
		},
		//判断总价是否可以起送
		fun() {
			if (this.price + 3 >= 15) {
				this.flag = false;
			}
			else {
				this.flag = true;
			}
		}
		
    }

}
</script>

<style scoped>
/****************** 总容器 ******************/
.wrapper {
  width: 100%;
  height: 100%;
}

/****************** header部分 ******************/
.wrapper header {
  width: 100%;
  height: 12vw;
  background-color: #0097ff;
  color: #fff;
  font-size: 4.8vw;

  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;

  display: flex;
  justify-content: center;
  align-items: center;
}

/****************** 商家logo部分 ******************/
.wrapper .business-logo {
  width: 100%;
  height: 35vw;
  /*使用上外边距避开header部分*/
  margin-top: 12vw;

  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapper .business-logo img {
  width: 40vw;
  height: 30vw;
  border-radius: 5px;
}

/****************** 商家信息部分 ******************/
.wrapper .business-info {
  width: 100%;
  height: 20vw;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.wrapper .business-info h1 {
  font-size: 5vw;
}
.wrapper .business-info p {
  font-size: 3vw;
  color: #666;
  margin-top: 1vw;
}

/****************** 食品列表部分 ******************/
.wrapper .food {
  width: 100%;
  /*使用下外边距避开footer部分*/
  margin-bottom: 14vw;
}
.wrapper .food li {
  width: 100%;
  box-sizing: border-box;
  padding: 2.5vw;
  user-select: none;

  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .food li .food-left {
  display: flex;
  align-items: center;
}
.wrapper .food li .food-left img {
  width: 22vw;
  height: 22vw;
}
.wrapper .food li .food-left .food-left-info {
  margin-left: 3vw;
}
.wrapper .food li .food-left .food-left-info h3 {
  font-size: 3.8vw;
  color: #555;
}
.wrapper .food li .food-left .food-left-info p {
  font-size: 3vw;
  color: #888;
  margin-top: 2vw;
}
.wrapper .food li .food-right {
  width: 16vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .food li .food-right .fa-minus-circle {
  font-size: 5.5vw;
  color: #999;
  cursor: pointer;
}
.wrapper .food li .food-right p {
  font-size: 3.6vw;
  color: #333;
}
.wrapper .food li .food-right .fa-plus-circle {
  font-size: 5.5vw;
  color: #0097ef;
  cursor: pointer;
}

/****************** 购物车部分 ******************/
.wrapper .cart {
  width: 100%;
  height: 14vw;

  position: fixed;
  left: 0;
  bottom: 0;

  display: flex;
}
.wrapper .cart .cart-left {
  flex: 2;
  background-color: #505051;
  display: flex;
}
.wrapper .cart .cart-left .cart-left-icon {
  width: 16vw;
  height: 16vw;
  box-sizing: border-box;
  border: solid 1.6vw #444;
  border-radius: 8vw;
  background-color: #3190e8;
  font-size: 7vw;
  color: #fff;

  display: flex;
  justify-content: center;
  align-items: center;

  margin-top: -4vw;
  margin-left: 3vw;

  position: relative;
}
.wrapper .cart .cart-left .cart-left-icon-quantity {
  width: 5vw;
  height: 5vw;
  border-radius: 2.5vw;
  background-color: red;
  color: #fff;
  font-size: 3.6vw;

  display: flex;
  justify-content: center;
  align-items: center;

  position: absolute;
  right: -1.5vw;
  top: -1.5vw;
}
.wrapper .cart .cart-left .cart-left-info p:first-child {
  font-size: 4.5vw;
  color: #fff;
  margin-top: 1vw;
}
.wrapper .cart .cart-left .cart-left-info p:last-child {
  font-size: 2.8vw;
  color: #aaa;
}

.wrapper .cart .cart-right {
  flex: 1;
}
/*达到起送费时的样式*/
.wrapper .cart .cart-right .cart-right-item {
  width: 100%;
  height: 100%;
  background-color: #38ca73;
  color: #fff;
  font-size: 4.5vw;
  font-weight: 700;
  user-select: none;
  cursor: pointer;

  display: flex;
  justify-content: center;
  align-items: center;
}

/*不够起送费时的样式（只有背景色和鼠标样式的区别）*/
/*
	.wrapper .cart .cart-right .cart-right-item{
		width: 100%;
		height: 100%;
		background-color: #535356;
		color: #fff;
		font-size: 4.5vw;
		font-weight: 700;
		user-select: none;
		
		display: flex;
		justify-content: center;
		align-items: center;
	}
	*/
</style>